#pragma once

#include <tchar.h>
#include <Windows.h>
#include <dbt.h>						// For DeviceChange.
#include <winioctl.h>					// For DeviceIOCtl.

#define MAX_LOADSTRING 100

// Add fro USB Task.

// USB letters' container
// Drive type names
#define DRVUNKNOWN		0
#define DRVFIXED		1
#define DRVREMOTE		2
#define DRVRAM			3
#define DRVCD			4
#define DRVREMOVE		5

// IOCTL control code
#define IOCTL_STORAGE_QUERY_PROPERTY   CTL_CODE(IOCTL_STORAGE_BASE, 0x0500, METHOD_BUFFERED, FILE_ANY_ACCESS)

class CDriveFunc
{
public:

	static char chFirstDriveFromMask (ULONG unitmask);
	static BOOL GetDisksProperty(HANDLE hDevice, PSTORAGE_DEVICE_DESCRIPTOR pDevDesc);
	static void ReInitUSB_Disk_Letter();

public:
	static TCHAR   szMoveDiskName[33];
	static TCHAR	szDrvName[33];
	static BOOL	bInitUSBs;

};
